package demo.ClassLoad;

import java.lang.reflect.Method;
import java.lang.reflect.Modifier;

/**
 * @Auther: hjy(lc))
 * @Date: 2022/8/5-08-05-15:24
 * @Description：demo.ClassLoad
 */

//编写一个方法，方法中可以调用到任意一个类的任意方法
public class Demo {
    public void test(Class c, String name) throws Exception {
        Method method = c.getMethod(name);
        //静态方法可以不需要对象通过对象调用      method.invoke(null,null)
        if(Modifier.isStatic(method.getModifiers())){
            method.invoke(null,null);
        }else{
            method.invoke(c.newInstance(),null);
        }
    }
    public static void main(String[] args) throws Exception {
        Demo demo = new Demo();
        demo.test(A.class,"show");
    }
}

class A{
    public void show(){
        System.out.println("A.show");
    }
}
